// 获取当前页表格
// 这里的参数是http请求的参数，返回值是响应的内容
/* 
@param pageSize (number) : 每页的数据行数
@param currentPage (number): 当前分页的页码

@return :{
      currentPageData (array): 被数组包裹的对象数据,[{id:string,name:string,state:string,upDate:string,builtDate:string}]
      totalData (number): 总的数据条数，注意不是当前返回页的数据条数，是整个数据库中总的数据条数,
      messge (string): 提示信息 "获取成功！"或“获取失败”,
    }
*/
export const getCurentPageData = async () => {
    const res = await axios({
      method: "get",
      url: "/getData",
      data: {
        pageSize: pageSize.value,
        currentPage: currentPage.value,
      },
    });
    console.log("更新页面2");
    tableData.value = res.data.currentPageData;
    totalList.value = res.data.totalData;
    console.log(res.data.message)
  };

// 删除数据接口
/* 
@param deleteId {string}:要删除的条目的id
@return message {string}:提示信息 ‘删除成功’
*/
export const deleteitem = async () => {
    let res = await axios({
      url: "/deleteData",
      method: "post",
      data: {
        deleteId: deleteId.value,
      },
    });
    console.log("删除数据1", res.data.message);

    // 删除后再更新当前页数据，更新放在删除中，可以保证每次更新都在删除之后
    // upData();
  };

// 搜索接口
/* 
@param searchKey {string}:搜索框内容
@param pageSize {number} :每页的数据行数
@param currentPage {number}:当前分页页码

@return {currentPageData {array}:返回当前页码数组包裹的对象数据,
        totalData {number}:总的搜索数据的条目数，不是当前页的条目数}
*/
export const handerSearchFist = () => {
    // 如果搜索内容为空 则直接返回第一页数据
    if ((searchContent.value ?? "") !== "") {
      searchState.value = 1;
      currentPage.value = 1;
      axios({
        url: "/searchData",
        method: "post",
        data: {
          searchKey: searchContent.value,
  
          pageSize: pageSize.value,
          // 搜索结果从第一页开始展示
  
          currentPage: currentPage.value,
        },
      }).then((res) => {
        tableData.value = res.data.currentPageData;
        totalList.value = res.data.totalData;
        // 一旦拿到搜索结果，组件中的tableData就一直锁定在结果数据
        // 改变当前分页，不从总数据更新
  
        // console.log('当前总数据',totalList.value)
      });
    } else {
      searchState.value = 0;
      getCurentPageData();
      console.log("搜索状态", searchState.value);
    }
  };
  
//   编辑（修改）接口
/* 
@param editForm {object}:修改后的表单对象{id:string,name:string,state:string,upDate:string,builtDate:string}
                        这里我传出的是对象，后端拿到的应该是josn
@param message {string}:提示信息
*/
const subEditForm = () => {
    console.log("提交表单");
    axios({
      url: "/editData",
      method: "post",
      data: {
        editForm: viewDialogForm,
      },
    }).then((res) => {
      emit("upData");
      console.log("编辑成功");
    });
  };
//   新增数据接口
/* 
@param addForm {object}:修改后的表单对象{id:string,name:string,state:string,upDate:string,builtDate:string}
                        这里我传出的是对象，后端拿到的应该是josn
@param message {string}:提示信息
*/
const subAddForm = () => {
    console.log("提交表单");
  
    axios({
      url: "/addData",
      method: "post",
      data: {
        addForm: viewDialogForm,
      },
    }).then((res) => {
      
      console.log("编辑成功");
    });
  };